const path = require("path");

module.exports = {
  mode: "development",
  entry: "./src/index.js",
  output: {
    filename: "[name].js",
    path: path.join(__dirname, "./dist"),
    // NOTE -  output.library 配置，以适当方式导出模块内容
    library: {
      name: "_",// 定义模块名称 在浏览器环境下使用script加载该库的时候，直接使用这个名字调用模块
      type: "umd",// 编译后产物的模块选项（commonjs、umd、module、jsonp）
    },
  },
  //NOTE - 假如使用第三方库lodash 使用externals配置 将第三方依赖排除在打包系统之外
  externals: {
    lodash: {
      commonjs: "lodash",
      commonjs2: "lodash",
      amd: "lodash",
      root: "_",
    },
  },
  //NOTE - 它能够将经过压缩、混淆、合并的代码还原回未打包状态，帮助定位问题
  devtool: 'source-map'
};
